Digital filters are, among other applications, used to model electronic environments. Typical applications of this type include audio filtering or modelling of acoustic system characteristics. The use of such filters allows incorporation of reverberation effects in audio signals, adaptive echo cancellation where echoes are undesirable, and production of audio signals having a “virtual reality” effect.
Other areas of application in addition to the audio field include seismic analysis and robotics.
A digital filter can be represented mathematically in terms of its impulse response. This response can form the basis for physical implementation which can fall into one of two distinct classes, namely Finite Impulse Response (FIR) filter implementations, and Infinite Impulse Response (HR) filter implementations. In general, as the complexity of the environment being modelled by the digital filter increases, the corresponding complexity of the filter structure must also increase, if it is to accurately, or at least realistically, model the environment. This correspondence between complexity of the modelled environment and the complexity of the filter structure applies to both FIR and IIR filter implementations. The complexity of the resulting filter is defined by the order of the filter structure.
Digital filters may, in principle, be implemented in the time domain, in which case a mathematical convolution process is used to relate the output of the filter to the input of the filter. Digital filters may, alternatively, be implemented in the transform domain, using, for example, Fast Fourier Transform AFT) techniques. In contrast to the time domain implementation where the convolution operation is required, in the transform domain a multiplication process relates the output signal of the filter to the input signal. This results in significant simplification and consequently, a reduction in the number of computations required when implementing a filter in the transform domain, as opposed to the time domain.
FFT filter implementation methods do, however, have a drawback in that they are block processes. Thus, where “N” is the order of the filter being considered, “N” samples of a digital signal must generally be stored before the first output of the filter can occur. This block processing therefore introduces delay (or latency) in the filter processing. In certain applications, latency causes unacceptable performance. For example, if audio and video signals are both being digitally processed in order to produce a multi-media presentation, differential delay between the audio and video signals of more than 10 milliseconds may cause lack of synchronisation to be perceived by a viewer.
Digital filters which are implemented using FIR techniques can, notwithstanding their fundamental block processing nature, be implemented in a manner in which latency may be reduced This requires that the impulse response of the filter which is being modelled be partitioned into a number of sections along a time axis, and that these sections each be processed by a suitable FFT structure. Further detail on this process may be found in U.S. Pat. No. 5,502,747 (McGrath). It is noted that McGrath is applicable to FIR filter implementations, however not to IIR filter implementations.
It is often the case that the impulse response which characterises the particular system being modelled has most of its energy, and consequently the important information, concentrated in the initial portion of the impulse response. Notwithstanding this distribution of energy and information, the system impulse response may often extend in time well beyond this initial portion FIR filter implementations are often approximated by implementing only the initial portion of the impulse response. This achieves an economic filter design, since the bulk of the information contained in the impulse response is included in the FIR model. The penalty however, is that the information in the “tail” of the impulse response is lost. Although this information may be of secondary importance, it may nonetheless be significant when considering the realism achieved by a filter which models an acoustic or other environment.
IIR filters are a generalisation of the FIR case and can, in some circumstances, have a simpler mathematical representation than FIR implementations, and thus can provide a filter implementation having a lower order for a given environment than an equivalent FIR filter.
It is considered desirable to provide a method for implementing digital filters with controllable processing delay and performance, applicable to both IIR and FIR filters.